gen-noise-brownian levels seed h &optional vector begin
Returns a vector of brownian motion values calculated by the given random seed and smooth parameter h using midpoint displacement algorithm described in Science of Fractal Images by Peitgen/Saupe. The number of output values depends on levels raised to power 2.
Seed initializes the random number generator, and its value should be in range from 0.00001 to 0.99999. H controls the brownian motion smoothness. Its practical value is in range from 0.01 to 0.99. Small h values produces rough waveforms and large values produce flat waveforms.
An optional vector and begin-point can be supplied. In this case the normal gaussian random generation is replaced by the vector and the values are taken starting from the begin-point. When the last value of the vector is used, the begin-point is automatically zeroed and the values of the vector are reused.
Brownian motion constitutes the simplest random fractal. It has many applications in simulating natural phenomena. This function generate good quality melodies and velocity curves. It is used internally by the compiler to control the humanizer. If you supply the optional arguments, very interesting fractal-like vector patterns can be produced.
(vector-round 40 80
(gen-noise-brownian 8 0.8593 0.79))
Or using fibonacci generations as a modulator:
(setq spatmod
(vector-scale -2 1
(list-to-vector
(gen-fibonacci-trans 9 '(1 2 3) '(4 5 6)))))
(vector-round 40 80
(gen-noise-brownian 8 0.8593 0.79 spatmod 130))
Varying the begin parameter interesting variation can be achieved.